﻿using D.Application.Contracts.Dtos;
using D.WebApi.Core.Dtos;

namespace D.Application.Contracts.IService
{
    public interface ISysOrgService
    {
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="sysOrgDto"></param>
        /// <returns></returns>
        Task<ApiResult> AddAsync(SysOrgDto sysOrgDto);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="guids"></param>
        /// <returns></returns>
        Task<ApiResult> DeleteAsync(List<Guid> guids);

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="sysOrgDto"></param>
        /// <returns></returns>
        Task<ApiResult> UpdateAsync(SysOrgDto sysOrgDto);

        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="pageQuery"></param>
        /// <returns></returns>
        Task<ApiPageResult<SysOrgDto>> QueryPageAsync(PageQueryDto pageQuery);

        /// <summary>
        /// 获取列表
        /// </summary>
        /// <returns></returns>
        Task<ApiListResult<SysOrgDto>> QueryListAsync();

        /// <summary>
        /// 获取单个
        /// </summary>
        /// <param name="guid"></param>
        /// <returns></returns>
        Task<ApiResult> GetByIdAsync(Guid guid);
    }
}
